проведя еще пару часов за тестами, в голову пришла мысль о фаталках из-за большого числа юнитов на мелководье
остановился на том, что ошибка вылетела из-за случайных точек спауна по квадрату на мелко-глубкоководной местности. сделал спаун в отдельных мини областях - ошибка исчезла
Не надо плодить мифы, если модель не является разрушаемым объектом, то она не исчезает при верно рассчитанных границах
Разрушаемый объект исчезает всегда, когда центр пропадает из кадра, как вариант можно заменить юнитом
что бы юнит атаковал противников, есть у юнита дистанция получения приказа, а в константах что то типо зов на помощь. их и меняй, хотя хватит и второго.
Не проверял, но практически на 100% уверен, что каждый скачок молнии начинается с поиска подходящей цели, и следующая цель после смены владельца кастера будет враждебной новому владельцу.
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
Собственные попытки в студию, что не получается?
Напомним - ЭТО НЕ СТОЛ ЗАКАЗОВ, здесь задают вопросы про реализацию тех или иных вопросов, спрашивают про ошибки, оптмизацию, отдельные функции. Я не увидел в вашем вопросе ничего кроме невнятного описания механики способности, " вокргу кого то там огненные столбы возникают, и еще порча"...
Filius Dei, во вредные советы подъехали...
Русификатор очень поможет тем кто собрался ломануть чужую карту и сделать её мод, прям ваще жир...
Потом нубам вроде сударя не стоит бежать ломать чужую карту, чето там пытатся копировать - это все бесполезно, недавно был похожий вопрос - помогите взломать карту за вознаграждение, карту сломали - ну а дальше что? Он неспособен ничего сделать потому что просто не понимает как?
Играя в некую карту вы мните себя великими балансерами и картоделами, мол да чё там, шяс подправлю пару значений и все будет норм - нет не будет, это не так просто как может показаться, без понимания устройства карты и знания Jass вам нечего там делать, вы тупо ничего не сможете изменить, да даже скопировать и вставить!
Помните что без труда не выловишь и рыбку из пруда, т.е изи способов в 1 кнопку взять и запилить чужую карту так как вам хочется или вдруг стащить всех героев себе в карту нет, а уж теболее не случится так что вам кто то возьмет и все это сделает вам за спасибо...
Вариант открыть вашу музыку аудиоредакторе например FL Studio, уменьшить ее качество с 320 до 128, также буделт лучше урезать непосредственно композицию, например оставить только главную тему и все. И переодически проигрывать в игре только часть вырезаную часть музыкальной композиции.
Главный кошмар тут, конечно - 14 групп. Пришлось так делать, т. к. принципиально не хочу применять глобалки, а локалки, похоже, после дестройгруп заново не юзабельны.
Это вроде должно быть легко поправить, вместо
call DestroyGroup (firewayunits1)
везде ставь
call GroupClear(firewayunits1)
и в самом конце уже, где идет обнуление переменных, там оставляешь DestroyGroup.
И с чего такая нелюбовь к глобалкам? Хештаблица используется, а это ж тоже глобалка, причем даже не просто глобалка, а супер-глобалка. У меня с ней постоянно головная боль была, из-за возникающих после интенсивной работы странных глюков...
Достаточно посмотреть как устроены эти бж функции и все будет понятно.
function OnlyAliveSourcess takes nothing returns boolean // эту функция в кастом код карты, в самом вверху.
return GetUnitTypeId( GetFilterUnit( ) ) == 'hsor' and not ( GetWidgetLife( GetFilterUnit( ) ) < 0.405 or IsUnitType( GetFilterUnit( ), UNIT_TYPE_DEAD ) )
endfunction
//...
call GroupClear( udg_Group ) // это в кастом скрипт твоего триггера
call GroupEnumUnitsInRect( udg_Group, bj_mapInitialPlayableArea, Condition( function OnlyAliveSourcess )) // это в кастом скрипт твоего триггера
Вот без утечек и локейшинов и прочих ненужных действий.
Далее уже делай что хочешь с юнитами в группе
globals
player Pl = null
endglobals
function abc takes nothing returns boolean
return IsUnitEnemy(GetFilterUnit(), Pl)
endfunction
function zemle takes nothing returns nothing
local unit u = GetTriggerUnit()
local group g = CreateGroup()
local real x = GetUnitX(u)
local real y = GetUnitY(u)
local real Random = GetRandomReal(0, 360)
local boolexpr d = Condition(function abc)
set Pl = GetTriggerPlayer()
call GroupEnumUnitsInRange( g, x, y, 850, d )
call ForGroup( g, function zemlee )
call UnitApplyTimedLife(CreateUnit (p, 'h007',x,y,Random),'BFiq',0.50 ) // ???
call DestroyGroup(g)
call DestroyBoolexpr(d)
set u = null
set p = null
set g = null
set d =null
endfunction
Осуществляешь импорт по неправильному пути. Например (я пробовал для орков), "Sound\Music\mp3Music\Orc1.mp3", "Sound\Music\mp3Music\Orc2.mp3", "Sound\Music\mp3Music\Orc3.mp3", "Sound\Music\mp3Music\Orc1X.mp3" и т.д. Все стандартные треки были заменены на мой. Чтобы корректно заменять музыку на карте, нужно знать пути импорта. Путь к оригинальным трекам можно посмотреть в mpq-архиве через архиваторы.
Cпособ #1
Самый простой вариант, это найти и скачать WE Unlimited. Редактор хоть и стар как сам варкрафт. но у него есть так называемый Enchacer. Через данный Enchacer можно вытаскивать любые данные и даже манипулировать импорт и путями. Единственный недостаток, что запускается он не на всех ОС из-за требования каких-то dll которые являются интегрированными в XP, но за каким то чудом нет в остальных Windows, так что придется немного потанцевать с бубном, но потом ты сможешь хоть ландшафт из стандартной карты интегрировать.
Способ #2
MPQ архиватором вскрываешь архив карты и находишь данные о ландшафте и обо всем что на нем стоит. Ищешь или создаешь карту с нужным тебе ландшафтом, и затем интегрируешь все уже в свою карту.
Оба способа требуют манипуляций с файлами, зато позволяет эксплуатировать главную карту как бессмертное ядро, которому надо всего лишь менять внешнюю оболочку в лице ландшафта и декора.
Если по игроку то массив переменных по игроку, если прям каждого конкретного героя каждого игрока - то через custom value или прочий регистратор юнитов.
тому, что было в памяти на момент её выделения под переменную. Выделение памяти и её очистка - разные процессы, именно поэтому считается хорошим тоном задавать значения перед тем, как планируешь их использовать.
Ребята, я разобрался
Триггер работает нормально и безутечно, вся проблема в том, что создавая спелл-активатор с кислотной бомбы, я указал интервал урона = 0.00, что и повлекло все лаги
А теперь скажи: Ты добавлял модели обычным методом или подключаемым модулем?
Если первое, то да - будут отображаться. Если же второе, то надо скинуть модуль/архив
Да у тебя куча дыр, во-первых ты не запустил триггер 115 области lumber direction, и оно соответственно не реагирует на событие. Во-вторых перепроверь gold проверку условия на да или нет в той карте которую ты отправил стоит нет
А золото не движется потому что ты ожидание 0,5 сек поставил а область в милисекунде от изначальной то есть триггер не успевает запуститься
да, сейчас вообще обратил внимание что текстуры идущие в комплекте не воспринимаются почему-то, а именно "Shield.blp".
Все равно проблема не решилась, вроде бы смог заменить текстуру, которую не видел но варик не воспринимает модель.
1
Большинство абилок с баффами не складываются, сделай похищение жизни - на основе ауры вампиризма (если юнит мили) ну или сделай бонус урона на основе Рева друидов-медведей у ночных эльфов.
Складываются только стрелы яда\холода, яды (еще от настроек зависит), всякие предметные хилки на хп и мп (и то если в в настройках указанные разные баффы )
Так же не перебивают друг-друга баффы аур (на оной основе можно сделать хоть 100500 аур с разными баффами и все они будут висеть на юните давая бонусы, не перебивая друг-друга).
Нужно в способностях предмета цели настроить. xgm.guru/p/100/180041 Не помню точно в этом ли примере, там есть настройки клика на предмет. У меня компа просто нет уже =((
А в триггерах проверяешь условием - является ли предмет такой-то такой (в зависимости от события переменные разные, если то каст то цель каста, если то приказ, то цель приказа). то если обязательно нужно условие какое-то
возвращает то же значение Z, что было до деформации.
Вообще-то нет, иначе в Sniper Aren-у было бы невозможно играть.
Скорее всего ты создаёшь "временную" а не "постоянную" деформацию. По завершению постоянной деформации он выдаёт точные данные (деформация длится в течение времени, указанного в триггере)
Если надо делать деформацию на время, то лучше заносить точки в переменные и в нужный момент делать обратную деформацию, возвращающую первоначальное состояние.
Потому что огромный Нестандартные объекты может тысяч или больше или Спелл герой до 100 уровень.
из них 60 загрузка просто висит на 1/5.
Если нетак? Проверь если есть файлы war3map.j папка Game\WarcraftIII, надо удалить файл. очень давно тоже 1 раз что за вылет или неправильно выполняет триггер.
Есть способы ускорить загрузку карты не экономя в редакторе объектов
Есть Widgetizer, там очень быстрая загрузка игра, но плохо работает спелл или текст.
Было создано 22 366 679 экземпляров класса CUnitListNode, которые заняли 255.9 МБ памяти.
При очередной попытке выделения, игра упала.
Виной всему утечки памяти: за 21 минуту набралось 80 тысяч групп и 20 тысяч точек.
Также, из-за выполнения большого количества кода, сильно лагает.
На стадии выбора героя (первые две минуты), выполняется 550 000 операций в секунду, а далее — 1 200 000.
Для сравнения: лимит потока — 300 000 операций.
Хорошо, что ты приложил карту, так как в логе маловато информации.
ScopteRectuS, ну как я и догадывался, что идет рекурсия.
10 событий - юнит получает урон, на одного юнита... Нужны именно такого типа проверки, всегда в условии триггера проверяй от кого урон и какой этот урон с помощью флага глобалки как в примере.В блоге лича хорошо описаны костыли доты, почитай для общего развития чтобы не наступать на эти грабли еще раз.
Интересно мне, у каких героев ты нашёл эту способность, не имеющуюся в списке способностей, но присутствующую в игре? Прямо очень интересно.
Добавить можно так же как и любую другую способность. Называется она - Повышение Характеристик.
в чем редактор вкв3 отличается от редактора ск2 - к сожалению, в вк3-шном эдиторе не удастся отловить все данные.
если ты скажешь, что конкретно делает твой спелл, тебе могут подсказать более легкий вариант исполнения
насчет спецэффектов - утечка решается просто
создаешь точку, если спец на земле. если спец на юните, точка не требуется.
собсно воспроизводишь спец
и сразу его удаляешь. спец удалится тогда, когда доиграет до конца его анимация
кастом скриптом удаляешь точку, если 1 часть 1 пункта актуальна
Ну как как, морфнуть героя в другого героя, у которого будет эта способность.
Увы добавить способность в HeloList низя, так что юзаем обходные пути с морфами и техникой.
Я постоянно порываюсь весь вар снести и изучение джасса, которое отнимат
Посмотрел твоя карта, ужасный триггер, тройная нагрузка, и Одинаково события! поэтому мы объединение триггер и сократилось нагрузка и чуть меньше килобайт весит карт.
Я сделал полностью оптимизация ГУИ вместо джасс.
Как вам карта?
почему гуи+джасс? Потому что кто не включает UMSWE или русификатор триггеров, различные проблем. Rare, что решает проблем?
Попробуй отключить триггеры, для начала, и затем проверь, запустится ли карта в игре. Особенно те, которые были созданы/редактированы относительно недавно до появления фатала.
» WarCraft 3 / Краш Карты
» WarCraft 3 / Модель исчезает при приближении к краю экрана
» WarCraft 3 / Союзники....
» WarCraft 3 / Запись звуков для юнита
» WarCraft 3 / Триггеры
» WarCraft 3 / Изменение цвета воды
» WarCraft 3 / Анимация Stand hit
» WarCraft 3 / По сжатию карт
» WarCraft 3 / DestroyGroup()
» WarCraft 3 / Импорт звука
» WarCraft 3 / Помощь с заданием
» WarCraft 3 / Помощь в создании тригера
» WarCraft 3 / Вопрос о 2-ной модели.
» WarCraft 3 / Карты с красивым ландшафтом ?
» WarCraft 3 / Проблема с выдачей награды
» WarCraft 3 / Вопрос по кампании и модели
» WarCraft 3 / Движение героя стрелками.
» WarCraft 3 / Что не так?
» WarCraft 3 / Использование предмета на предмет
» WarCraft 3 / Высота Z
» WarCraft 3 / как сделать из обычного юнита героя
» WarCraft 3 / Фаталит карта
» WarCraft 3 / Как добавить способность герою?
» WarCraft 3 / Карта вылетает :(